/* Zatok - язык программирования текстовых игр
 * (С) 2010 - 2012 Меркулов Матвей Юрьевич
 * Код лицензирован под лицензией GNU LGPL
 * Вы можете прочитать текст лицензии по адресу:
 * http://www.gnu.org/copyleft/lesser.html
 * или прочитать русский перевод по адресу:
 * http://ru.wikisource.org/wiki/GNU_Lesser_General_Public_License
 */

package base.module;

import base.value.CFloatValue;
import base.value.CIntValue;
import base.value.CValue.CType;
import base.value.CValue;

public class CIncrement extends CModule {
	public CIntValue IntValue = new CIntValue( 0 );
	public CFloatValue FloatValue = new CFloatValue( 0f );
	
	
	
	@Override
	public void Init() {
		AssertParam( 1 );
	}
	
	
	
	@Override
	public void Execute() {
		CValue Value0 = Param[ 0 ].GetValue();
		
		if ( Value0.GetType() == CType.Float ) {
			FloatValue.Value = Value0.ToFloat() + 1.0f;
			Param[ 0 ].EquateTo( FloatValue );
		} else if ( Value0.GetType() == CType.Int ) {
			IntValue.Value = Value0.ToInt() + 1;
			Param[ 0 ].EquateTo( IntValue );
		} else {
			Error( "Добавлять единицу можно только к числовым переменным" );
		}
	}
}
